import type { FlyCutCaptionLocale } from './index';

const enUS: FlyCutCaptionLocale = {
  common: {
    loading: 'Loading...',
    error: 'Error',
    success: 'Success',
    confirm: 'Confirm',
    cancel: 'Cancel',
    ok: 'OK',
    close: 'Close',
    save: 'Save',
    delete: 'Delete',
    edit: 'Edit',
    preview: 'Preview',
    export: 'Export',
    import: 'Import',
    reset: 'Reset',
    apply: 'Apply',
    search: 'Search',
    clear: 'Clear',
    select: 'Select',
    upload: 'Upload',
    download: 'Download',
    retry: 'Retry',
    back: 'Back',
    next: 'Next',
    previous: 'Previous',
    finish: 'Finish',
    skip: 'Skip',
    enable: 'Enable',
    disable: 'Disable',
    play: 'Play',
    pause: 'Pause',
    stop: 'Stop',
    mute: 'Mute',
    unmute: 'Unmute',
    fullscreen: 'Fullscreen',
    exitFullscreen: 'Exit Fullscreen',
  },
  components: {
    fileUpload: {
      dragDropText: 'Drag and drop video files here, or click to select',
      clickToSelect: 'Click to select file',
      supportedFormats: 'Supported formats:',
      maxFileSize: 'Max file size:',
      selectFile: 'Select File',
      invalidFileType: 'Invalid file type',
      fileTooLarge: 'File is too large',
      uploadFailed: 'Upload failed',
      uploadSuccess: 'Upload successful',
      processing: 'Processing...',
      noFileSelected: 'No file selected',
      fileInfo: 'File Info',
      fileName: 'File Name',
      fileSize: 'File Size',
      fileType: 'File Type',
      duration: 'Duration',
    },
    videoPlayer: {
      play: 'Play',
      pause: 'Pause',
      stop: 'Stop',
      mute: 'Mute',
      unmute: 'Unmute',
      fullscreen: 'Fullscreen',
      exitFullscreen: 'Exit Fullscreen',
      volume: 'Volume',
      currentTime: 'Current Time',
      duration: 'Duration',
      playbackRate: 'Playback Rate',
      quality: 'Quality',
      subtitle: 'Subtitle',
      showSubtitle: 'Show Subtitle',
      hideSubtitle: 'Hide Subtitle',
      previousFrame: 'Previous Frame',
      nextFrame: 'Next Frame',
      skipBackward: 'Skip Backward',
      skipForward: 'Skip Forward',
    },
    subtitleEditor: {
      title: 'Subtitle Editor',
      addSubtitle: 'Add Subtitle',
      editSubtitle: 'Edit Subtitle',
      deleteSubtitle: 'Delete Subtitle',
      deleteSelected: 'Delete Selected',
      selectAll: 'Select All',
      deselectAll: 'Deselect All',
      mergeSubtitles: 'Merge Subtitles',
      splitSubtitle: 'Split Subtitle',
      adjustTiming: 'Adjust Timing',
      startTime: 'Start Time',
      endTime: 'End Time',
      text: 'Text',
      duration: 'Duration',
      timeline: 'Timeline',
      waveform: 'Waveform',
      zoomIn: 'Zoom In',
      zoomOut: 'Zoom Out',
      fitToScreen: 'Fit to Screen',
      showWaveform: 'Show Waveform',
      hideWaveform: 'Hide Waveform',
      playSelection: 'Play Selection',
      clearSelection: 'Clear Selection',
      undoDelete: 'Undo Delete',
      redoDelete: 'Redo Delete',
      searchSubtitle: 'Search Subtitle',
      replaceText: 'Replace Text',
      translateSubtitle: 'Translate Subtitle',
      exportSRT: 'Export SRT',
      exportVTT: 'Export VTT',
      exportJSON: 'Export JSON',
      importSRT: 'Import SRT',
      importVTT: 'Import VTT',
      importJSON: 'Import JSON',
      previewSubtitle: 'Preview Subtitle',
      subtitleStyle: 'Subtitle Style',
      fontSize: 'Font Size',
      fontColor: 'Font Color',
      backgroundColor: 'Background Color',
      outline: 'Outline',
      shadow: 'Shadow',
      position: 'Position',
      alignment: 'Alignment',
    },
    asrPanel: {
      title: 'Speech Recognition',
      startASR: 'Start ASR',
      stopASR: 'Stop ASR',
      pauseASR: 'Pause ASR',
      resumeASR: 'Resume ASR',
      progress: 'Progress',
      status: 'Status',
      modelLoading: 'Model loading',
      modelLoaded: 'Model loaded',
      processing: 'Processing',
      completed: 'Completed',
      failed: 'Failed',
      cancelled: 'Cancelled',
      language: 'Language',
      autoDetect: 'Auto-detect',
      whisperModel: 'Whisper Model',
      generateWordTimestamps: 'Generate word-level timestamps',
      enableVAD: 'Enable VAD',
      vadThreshold: 'VAD Threshold',
      maxSegmentLength: 'Max Segment Length',
      temperature: 'Temperature',
      beamSize: 'Beam Size',
      patience: 'Patience',
      lengthPenalty: 'Length Penalty',
      repetitionPenalty: 'Repetition Penalty',
      noRepeatNgramSize: 'No-repeat N-gram Size',
      initialPrompt: 'Initial Prompt',
      suppressBlank: 'Suppress Blank',
      suppressTokens: 'Suppress Tokens',
      withoutTimestamps: 'Without Timestamps',
      maxInitialTimestamp: 'Max Initial Timestamp',
      wordTimestamps: 'Word Timestamps',
      prependPunctuations: 'Prepend Punctuations',
      appendPunctuations: 'Append Punctuations',
      lastTokensToIgnore: 'Last Tokens to Ignore',
      modelSettings: 'Model Settings',
      advancedSettings: 'Advanced Settings',
      resetSettings: 'Reset Settings',
      saveSettings: 'Save Settings',
      loadSettings: 'Load Settings',
    },
    exportDialog: {
      title: 'Export Settings',
      format: 'Format',
      quality: 'Quality',
      resolution: 'Resolution',
      frameRate: 'Frame Rate',
      bitrate: 'Bitrate',
      codec: 'Codec',
      container: 'Container',
      includeAudio: 'Include Audio',
      audioCodec: 'Audio Codec',
      audioBitrate: 'Audio Bitrate',
      audioSampleRate: 'Audio Sample Rate',
      includeSubtitle: 'Include Subtitle',
      burnSubtitle: 'Burn-in Subtitle',
      subtitleTrack: 'Subtitle Track',
      outputFile: 'Output File',
      exportVideo: 'Export Video',
      exportAudio: 'Export Audio',
      exportSubtitle: 'Export Subtitle',
      exportAll: 'Export All',
      previewExport: 'Preview Export',
      exportProgress: 'Export Progress',
      exportSuccess: 'Export Successful',
      exportFailed: 'Export Failed',
      exportCancelled: 'Export Cancelled',
      estimatedSize: 'Estimated Size',
      estimatedTime: 'Estimated Time',
    },
    messageCenter: {
      title: 'Message Center',
      noMessages: 'No messages',
      clearAll: 'Clear All',
      markAllRead: 'Mark All as Read',
      filter: 'Filter',
      allMessages: 'All Messages',
      errors: 'Errors',
      warnings: 'Warnings',
      info: 'Info',
      success: 'Success',
      timestamp: 'Timestamp',
      details: 'Details',
      dismiss: 'Dismiss',
      retry: 'Retry',
      report: 'Report',
    },
    themeToggle: {
      light: 'Light',
      dark: 'Dark',
      auto: 'Auto',
      toggleTheme: 'Toggle Theme',
    },
    languageSelector: {
      language: 'Language',
      selectLanguage: 'Select Language',
      chinese: 'Chinese',
      english: 'English',
      japanese: 'Japanese',
      korean: 'Korean',
      french: 'French',
      german: 'German',
      spanish: 'Spanish',
      portuguese: 'Portuguese',
      russian: 'Russian',
      arabic: 'Arabic',
      hindi: 'Hindi',
    },
  },
  messages: {
    fileUpload: {
      selectFile: 'Please select a file',
      uploadInProgress: 'File uploading...',
      uploadSuccess: 'File uploaded successfully',
      uploadFailed: 'File upload failed',
      invalidFileType: 'Invalid file type',
      fileTooLarge: 'File size exceeds the limit',
      networkError: 'Network error, please check your connection',
      serverError: 'Server error, please try again later',
      processingFile: 'Processing file...',
      extractingAudio: 'Extracting audio...',
      analyzingAudio: 'Analyzing audio...',
      generatingSubtitles: 'Generating subtitles...',
      processingComplete: 'File processing complete',
      processingFailed: 'File processing failed',
      processingCancelled: 'File processing cancelled',
    },
    asr: {
      modelDownloading: 'Downloading ASR model...',
      modelDownloaded: 'ASR model downloaded',
      modelDownloadFailed: 'ASR model download failed',
      initializingModel: 'Initializing ASR model...',
      modelInitialized: 'ASR model initialized',
      modelInitializationFailed: 'ASR model initialization failed',
      asrStarted: 'ASR started',
      asrProgress: 'ASR progress',
      asrCompleted: 'ASR completed',
      asrFailed: 'ASR failed',
      asrCancelled: 'ASR cancelled',
      noAudioDetected: 'No audio detected',
      audioTooShort: 'Audio is too short',
      audioTooLong: 'Audio is too long',
      unsupportedAudioFormat: 'Unsupported audio format',
      insufficientMemory: 'Insufficient memory',
      networkTimeout: 'Network timeout',
    },
    export: {
      exportStarted: 'Export started',
      exportProgress: 'Export progress',
      exportCompleted: 'Export completed',
      exportFailed: 'Export failed',
      exportCancelled: 'Export cancelled',
      invalidParameters: 'Invalid export parameters',
      insufficientSpace: 'Insufficient disk space',
      encodingError: 'Encoding error',
      ioError: 'I/O error',
      permissionDenied: 'Permission denied',
    },
    subtitle: {
      subtitleAdded: 'Subtitle added',
      subtitleEdited: 'Subtitle edited',
      subtitleDeleted: 'Subtitle deleted',
      subtitlesMerged: 'Subtitles merged',
      subtitleSplit: 'Subtitle split',
      timingAdjusted: 'Timing adjusted',
      textReplaced: 'Text replaced',
      subtitleTranslated: 'Subtitle translated',
      invalidTimeRange: 'Invalid time range',
      overlappingSubtitles: 'Overlapping subtitles',
      emptySubtitleText: 'Empty subtitle text',
      maxSubtitlesReached: 'Maximum number of subtitles reached',
      undoLimit: 'Undo limit reached',
      redoLimit: 'Redo limit reached',
    },
    video: {
      videoLoaded: 'Video loaded',
      videoLoadFailed: 'Video load failed',
      seekCompleted: 'Seek completed',
      playbackError: 'Playback error',
      networkError: 'Network error',
      decodingError: 'Decoding error',
      unsupportedFormat: 'Unsupported format',
      videoTooLarge: 'Video file is too large',
      videoTooLong: 'Video is too long',
      audioTrackMissing: 'Audio track missing',
      videoTrackMissing: 'Video track missing',
    },
    general: {
      operationSuccess: 'Operation successful',
      operationFailed: 'Operation failed',
      operationCancelled: 'Operation cancelled',
      saveSuccess: 'Save successful',
      saveFailed: 'Save failed',
      loadSuccess: 'Load successful',
      loadFailed: 'Load failed',
      deleteSuccess: 'Delete successful',
      deleteFailed: 'Delete failed',
      copySuccess: 'Copy successful',
      copyFailed: 'Copy failed',
      pasteSuccess: 'Paste successful',
      pasteFailed: 'Paste failed',
      connectionLost: 'Connection lost',
      connectionRestored: 'Connection restored',
      sessionExpired: 'Session expired',
      accessDenied: 'Access denied',
      rateLimitExceeded: 'Rate limit exceeded',
      serviceUnavailable: 'Service unavailable',
      maintenanceMode: 'Maintenance mode',
      updateAvailable: 'Update available',
      updateRequired: 'Update required',
      compatibilityIssue: 'Compatibility issue',
      browserNotSupported: 'Browser not supported',
      featureNotSupported: 'Feature not supported',
      experimentalFeature: 'Experimental feature',
    },
  },
};

export default enUS;